package com.aaa.singleton;

/**
 * @author C-Q
 * @version 1.1.0
 * @Description: 设计模式
 * 单例模式：
 *      是Java中最简单的设计模式之一，这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式
 *      这种模式涉及到了一个单一的类，该类负责创建自己的对象，同时确保只有单个对象被创建，这个类提供了一种
 *      访问其唯一的对象的方式，可以直接访问，不需要实例化该类的对象。
 *      总结：该类只能被创建一次，而且这个创建是给类本身自己创建
 *      单例设计模式分类两种：
 *          饿汉模式：类加载就会导致该单实例对象被创建
 *          懒汉模式：类加载不会导致该单实例对象被创建，而是首次使用该对象时才会创建
 *
 * @date 2022/11/7
 */
public class Singleton {
    //声明一个静态的本类对象--饿汉模式
    public static Singleton singleton=new Singleton();
    //第一步
        public Singleton() {}
        public static Singleton getInstance(){
            return singleton;
        }
    //提供一个静态方法返回本类的对象
    public void show(){
        System.out.println("~~~~~~show方法~~~~~~~");
    }
    /*说明：
        该方式在成员位置声明Singleton类型的静态变量，并创建Singleton类的对象instance。
        instance对象是随着类的加载而创建的。如果该对象足够大的话，而一直没有使用就会造成内存的浪费；*/
}
